The present invention relates to providing and outputting information to a user in electronic form, and more particularly to techniques for targeting electronic information to a user based on contents of document(s) viewed or accessed by the user.
With the rapid growth of computers and communication networks such as the Internet, an increasing amount of information is now available to users in electronic or digital form. The information is usually stored by a communication network in the form of documents that can be accessed by a user of the communication network using computer systems coupled to the communication network.
For example, in the World Wide Web (WWW) environment, the information is stored in the form of hypertext documents called web pages that can be accessed by a user using a browser program executing on a client computer coupled to the Internet. A web page may incorporate several information objects storing information of various types. These information objects may include text objects, graphics objects, audio and video content objects, multimedia objects, software program objects, hypertext link objects, and other types of data objects and/or combinations thereof. The hypertext link objects may contain hypertext links to other web pages. Web pages are typically stored on web servers or content servers coupled to the Internet. Each web page is uniquely identified by an address called a Uniform Resource Locator (URL) that enables users to access the web page.
The terms “client” and “server” are used to classify computer systems connected to communication networks such as the Internet based upon the role that the computer systems play with respect to requesting information or providing information. A computer system that is used by a user to request information is referred to as a “client” computer (or a “client”). A computer system that stores information and provides the information in response to an information request received from a client computer is referred to as a “server” computer (or a “server”). A particular computer system may function both as a client and as a server.
Users typically access web pages using a program called a “web browser” which generally executes on a client computer coupled to the Internet. A web browser is a type of client application that enables users to select, retrieve, and perceive information stored by the Internet. Examples of browsers include the Internet Explorer browser program provided by Microsoft Corporation, the Netscape Navigator browser provided by Netscape Corporation, and others. Users generally access web pages by providing URL information to the browser, either directly or indirectly, and the browser responds by retrieving the web page corresponding to the user-provided URL. The retrieved web page is then displayed to the requesting user on the client computer.
Due to the vast volume of information available via communication networks such as the Internet, it is becoming increasingly difficult for a user to identify documents that contain information of interest to the user or to find information that is relevant to the user. While there are several tools (e.g. search engines, etc.) available which help the user in finding relevant information, each of these tools requires manual input from the user and also requires that the user know how to use the tool.
For example, in order to use a search engine, the user has to know how to formulate an appropriate search query that will be used by the search engine to identify documents of interest to the user. Formulating an appropriate search query can be a non-trivial task, especially for those users who are not comfortable with using computers or who are not computer savvy. Further, if the search query is not properly formulated, the results that are returned by the search engine might not suit the user's needs. For example, if the search query is too broad, the number of documents returned by the search engine might be quite large and include documents that are irrelevant to the user. The user is then forced to waste valuable time in identifying relevant documents from the vast number of documents returned by the search engine. Conversely, if the search query is too narrow, then the search engine may miss documents that are relevant to the user.
In light of the above, what is needed are techniques for providing relevant information to users without requiring specific user input. It is further desired that the techniques be able to provide relevant information to a user based upon information or documents accessed by the user and based upon the user's likes and preferences.